package com.acme.domain.account;

import com.acme.exceptions.AccountClosedException;
import com.acme.exceptions.NotEnoughFundsException;

public interface Account {

	void deposit(double amount);
	
	void withdraw(double amount) throws NotEnoughFundsException, AccountClosedException;
	
	double getBalance();
	
	AccountType getAccountType();
	
	AccountState getAccountState();
	
	double maximumAmountToWithdraw();
	
	int toDecimalValue();
	
	public StringBuffer viewHistory();
	
	public void close();

}
